interrupt control routine